The present invention relates to a system and method for scheduling access requests to disk devices where the access requests include data write requests with time limits.
Generally, a real-time system handling jobs with time limits determines a processing order such that the plurality of jobs can be processed within their respective time limits. Real-time scheduling may be applied to process disk accesses in such real-time systems. Examples of such systems are a video server in which video data stored on a disk are continuously transferred to a client, a plant condition monitoring/recording system, and so on. In such a system, a plurality of disk devices are usually provided to realize sufficient transfer capability for a data storage device.
Also, to handle periodically-generated jobs with time limits, a system decides whether a new job can be accepted for processing based on the processing capability of the whole system, the periods with which respective jobs are generated, the job processing time, and the required resources. This decision is called "admission control", and the decision standard is made in accordance with the type of scheduling or system.
In some cases however, even though a job has been admitted by the admission control, it may not in fact be possible to guarantee that all jobs are completed within their respective time limits because the periods with which respective jobs are generated may vary due to some external factor.
For example, in the case of a video server, when video data is obtained by directly encoding the output of a video camera and transmitted to the video server through a network to be stored on the disk device in the video server, the periods at which disk access requests are issued may fluctuate due to jitter in the arrival time caused by network delay. When this happens, more than the anticipated requests are concentrated on a specific disk device at a given time. As a result, it may be impossible to execute all the disk access requests within their time limits no matter how the schedule is re-arranged. In the example, the video data arriving through the network as described above cannot be stored on the disk device and is lost.
To solve this problem, a conventional system provides a larger buffer memory to hold the data to be written, which extends the data holding time so as to make the time limit of a write request longer. However, if, for example, segments of a stream are sequentially stored on N disk devices assuming that the access period is T, it is necessary to wait for a time N.times.T for a next free time slot in the worst case. To hold the data in the buffer for this time, it is necessary to provide a buffer corresponding to (N+1) segments. Thus, such a conventional approach suffers disadvantages.